package com.zhentao.config;

import java.io.FileInputStream;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.Properties;


public class PropertiesConfig {
    // 声明静态常量，存储科大讯飞应用ID
    private static final String appId;
    // 声明静态常量，存储API密钥
    private static final String apiKey;
    // 声明静态常量，存储API密钥Secret
    private static final String apiSecret;

    // 静态初始化块，在类加载时执行
    static {
        // 创建Properties对象用于读取.properties文件
        Properties properties = new Properties();

        try {
            // 加载配置文件
            // 1. 获取类路径根目录的URI路径
            // 2. 拼接配置文件名"test.properties"
            // 3. 创建文件输入流
            // 4. 加载properties文件内容
            properties.load(new FileInputStream(
                    PropertiesConfig.class.getResource("/").toURI().getPath() + "test.properties"));
        } catch (IOException | URISyntaxException e) {
            // 捕获可能的IO异常或URI语法异常
            e.printStackTrace();
        }
        // 从properties对象中获取appId配置值
        appId = properties.getProperty("appId");
        // 从properties对象中获取apiSecret配置值
        apiSecret = properties.getProperty("apiSecret");
        // 从properties对象中获取apiKey配置值
        apiKey = properties.getProperty("apiKey");
    }

    /**
     * 获取科大讯飞应用ID
     * @return 应用ID字符串
     */
    public static String getAppId() {
        return appId;
    }

    /**
     * 获取API密钥
     * @return API密钥字符串
     */
    public static String getApiKey() {
        return apiKey;
    }

    /**
     * 获取API密钥Secret
     * @return API密钥Secret字符串
     */
    public static String getApiSecret() {
        return apiSecret;
    }
}